\insert 'Find.oz'
\insert 'FewFind.oz'
\insert 'ApplyMoves.oz'
\insert 'Compress.oz'
\insert 'FewerFind.oz'

declare In Out Moves MiniMoves States EvenFewerMoves FewerMoves

In = state(main: [a b c d e f g h] trackA: nil trackB: nil)
Out =state(main: [e d c f a h b g] trackA: nil trackB: nil)

%Moves = {FewFind In.main Out.main}

%MiniMoves = {Compress Moves}

%States = {ApplyMoves In MiniMoves}
%{Browse MiniMoves}

FewerMoves = {FewerFind In.main nil nil Out.main}
EvenFewerMoves = {Compress FewerMoves}
States = {ApplyMoves In EvenFewerMoves}
{Visualize States}